1. Technical Field
The present invention relates generally to resource management in a computer network and, in particular, to a method for enabling multiple client "agents" to establish and maintain their own "schedules" to enable more efficient sharing of telephone network resources in a dialup telephone network.
2. Description of the Related Art
There has been great interest in providing Internet access at minimal economic cost. While most computers now are preconfigured for such access, a significant percentage of households still do not have a personal computer. Thus, it has now been proposed to provide a data processing system that, much like a VCR, may be connected to a television set and used in lieu of a personal computer to provide World Wide Web access through a conventional remote control device associated with the system unit. Such a system enables the television to become, in effect, a "Web" appliance. The viewer can rapidly switch between conventional television and Internet access using the remote control unit. All of the conventional "Internet" access tools and navigational functions are preferably "built-in" to the system and thus hidden to the user.
It is known in such environments for providers of online services to provide "Web agent" technology to users of their Web appliance or "clients machines. A Web agent is an application running on a client machine that performs one or more Internet-related task(s) on behalf of the user of the machine. Such tasks may include, for example, prefetching world Wide Web content during off-line hours, filtering prefetched content, downloading software upgrades, e-mail retrieval, and the like. Theoretically, one would want to "schedule" a Web agent's activities to peak levels during regular "off-peak" nighttime hours. Other client machines would pursue a similar strategy. As the number of Web agents connected over a dialup network increases, however, network bottlenecks occur.
In particular, one of the main problems associated with such agent implementations or the prior art is that all Web agents "dial in" whenever they want and use the phone connection for as long as they want. Thus, Web agents acting without centralized control tend to use network resources in a greedy fashion. In a dialup network, this can cause an unfair distribution of network resources, as well as wasted telephone network resources used to handle large quantities of busy signals.
One approach to solving this problem has involved the service provider actually hanging up on connections that have been overly active (e.g., through a rapid retrieval of multiple URLs) for more than a certain period of time. This operation "frees-up" phone connections so that other users/agents then get an opportunity to dial-in for service. Although this approach does attempt to provide some degree of load balancing across multiple agents, it has not worked well because the technique still requires clients to dial the phone repeatedly until they connect (i.e. until they stop getting a "busy" signal). This is quite wasteful of phone network resources. It also does nothing to guarantee that all clients get equal time.
One alternative approach might be the use of a "load balancing" scheme implemented by the service provider centrally on a single server. This would involve having the ISP setting the individual schedules for all the client agents in a deterministic way. This approach, however, is also has significant drawbacks, namely, the requirements of centralized management of the agents and distribution of the schedules from the ISP to each client individually. Still another option is to provide load balancing by the ISP across distributed servers. That approach, however, still requires that the ISP distribute the schedules individually.
The present invention addresses and solves this problem.